package towerDefense.units;

import java.awt.Point;


public interface IMobile
{

    /**
     * moves the IMobile along a vector with the given angle and displacement
     * 
     * @param dist
     * @param angle
     * @return distance moved
     */
    int move (double dist, double angle);


    /**
     * Moves the IMobile to the target point
     * 
     * @param target
     * @return distance moved
     */
    int move (Point target);


    /**
     * Rotates this IMobile by the input change in angle
     * 
     * @param dAngle
     * @return amount rotated
     */
    int rotate (double dAngle);


    /**
     * Rotates this IMobile to the input heading
     * 
     * @param heading
     * @return amount rotated
     */
    int rotateTo (double heading);

}
